home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2003 #12 / Amiga Plus CD - 2003 - No. 12.iso / AmigaPlus / Tools / Virus / VirusZ / VirusZ.doc < prev    next >
Text File  |  2003-06-05  |  29KB  |  635 lines

  1. *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=
  2. =*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
  3. *=                                                                        *=
  4. =*                     VirusZ III 0.9e Documentation                      =*
  5. *=                Copyright © 2002/2003 by Georg Hörmann                  *=
  6. =*                                                                        =*
  7. *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=
  8. =*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
  9. Last updated: 25-Apr-2003
  10.  
  11. ----------------------------------------------------------------------------
  12.                                 LEGAL STUFF
  13. ----------------------------------------------------------------------------
  14.  
  15. The  VirusZ software package is FREEWARE and copyright © 1991-1999/2002/2003
  16. by Georg Hörmann and © 1999-2001 by Dirk Stöcker.
  17.  
  18. No parts of this package may be altered by any means (this includes editing,
  19. reprogramming, crunching, resourcing etc.), except archiving.  The author is
  20. in  no  way  liable  for  any  changes  made  to any part of the package, or
  21. consequences  thereof  as he is in no way liable for damages or loss of data
  22. directly or indirectly caused by this software.
  23.  
  24. Neither  fees  may  be  charged nor profits may be made by distributing this
  25. software package.  Outside a single machine environment, you are not allowed
  26. to  reproduce  single  parts  of  the  package,  but  you  have  to  copy it
  27. completely.
  28.  
  29. Note that the xadmaster.library is SHAREWARE, so if you are using it, please
  30. register.   For  more  detailed information, read 'xadmaster.guide' from the
  31. xadmaster.library software package.
  32.  
  33. ----------------------------------------------------------------------------
  34.                              CONTACT ADDRESSES
  35. ----------------------------------------------------------------------------
  36.  
  37. For  comments,  bug  reports, vector snapshots or if you have found some new
  38. virus, contact the author at the following addresses:
  39.  
  40. snail-mail: Georg Hörmann
  41.             Martinswinkelstraße 16c
  42.             82467 Garmisch-Partenkirchen
  43.             Germany
  44.  
  45. e-mail:     ghoermann@gmx.de (don't use ghoermann@epost.de any longer,
  46.                               it will be closed in the near future!)
  47.  
  48. You  will  always find the latest updates of VirusZ and related files in the
  49. Aminet (util/virus) or at the following places:
  50.  
  51. Virus Help Team Denmark homepage:   www.vht-dk.dk
  52. Dirk Stöcker's homepage:            www.dstoecker.de
  53.  
  54. ----------------------------------------------------------------------------
  55.                             SYSTEM REQUIREMENTS
  56. ----------------------------------------------------------------------------
  57.  
  58. VirusZ will run on any (emulated or real) Amiga that comes with AmigaOS 2.04
  59. (Kickstart v37) or better.  The following disk-based libraries are required:
  60.  
  61. - commodities.library v37+ (part of AmigaOS)
  62. - rexxsyslib.library v33+ (part of AmigaOS, for ARexx features)
  63. - reqtools.library v38+
  64. - xfdmaster.library v37+
  65. - xvs.library v33+
  66. - xadmaster.library v3+ (optional, for scanning inside archives)
  67. - disassembler.library v40+ (optional, for disassembling bootblocks/memory)
  68.  
  69. None  of  these  libraries  will  be distributed with the VirusZ package any
  70. longer (because of copyright reasons and the exploding size of the archive),
  71. get them from Aminet or the homepages mentioned above.
  72.  
  73. ----------------------------------------------------------------------------
  74.                                 INSTALLATION
  75. ----------------------------------------------------------------------------
  76.  
  77. Installing  VirusZ  is  nothing  more  than either dragging the icon to your
  78. WBStartup drawer or adding the following line to your 'S:User-Startup' file:
  79.  
  80. [Path]VirusZ [Option(s)]
  81.  
  82. To  make sure that you have received an original version of VirusZ and not a
  83. fake, you can use my PGP key added at the end of this documentation together
  84. with  the  signatures  included in the archive to verify the files.  You can
  85. also  download  a  100% safe copy of my PGP key from the homepages mentioned
  86. above.
  87.  
  88. Additionally,  you should compare the file size of your VirusZ copy with the
  89. one  displayed  in the 'Technical Info' information.  They MUST match if you
  90. didn't crunch VirusZ yourself.
  91.  
  92. ----------------------------------------------------------------------------
  93.                      KNOWN PROBLEMS & THIRD PARTY BUGS
  94. ----------------------------------------------------------------------------
  95.  
  96. DISASSEMBLER.LIBRARY & MMU.LIBRARY:
  97. VirusZ  might  crash  if  both disassembler.library and mmu.library exist in
  98. your LIBS:  drawer, but the mmu.library setup is incorrect.  In those cases,
  99. either  configure  your mmu.library environment correctly (read the manuals)
  100. or delete/rename mmu.library, so that disassembler.library cannot find it at
  101. startup.  Thanks to Harry Sintonen for this report.
  102.  
  103. STATRAM.DEVICE v37.11:
  104. VirusZ  might  crash if you have installed a recoverable RAM-disk (eg.  SD0)
  105. based  on  the  statram.device due to a bug in the command scheduler of this
  106. device (doesn't handle NSD-commands correctly).  There are two solutions for
  107. this problem:
  108. (a)  If  you  are using NSDPatch (AmigaOS 3.5) or AmigaOS 3.9, uncomment the
  109. entry for statram.device in the DEVS:NSDPatch.cfg file.
  110. (b) In all other cases, patch statram.device yourself!  Load the file in any
  111. hex editor and go to offset $0000014c.  If you find the byte value $6c here,
  112. change  it  to value $64 (only guaranteed for v37.11) and save the file back
  113. to disk.
  114. Thanks to Jan Andersen for this bug report.
  115.  
  116. MUGUARDIANANGEL HITS:
  117. Whenever  a  device  gets Inhibit()ed by the sector check, the filesystem in
  118. Kickstart  ROM causes a hit.  It releases less memory than it has allocated.
  119. This is not a bug in VirusZ!
  120.  
  121. FMSDISK.DEVICE v3.0:
  122. VirusZ crashes if you have mounted FFx:  disks using this old fmsdisk.device
  123. due to a severe bug in its command scheduler.  Unknown device commands (such
  124. as  NSD-commands) lead to a trashed stack pointer!  Solution:  Use v5.0 from
  125. Aminet, it works fine.  Thanks to Kempy for the report.
  126.  
  127. ----------------------------------------------------------------------------
  128.                                SHELL TEMPLATE
  129. ----------------------------------------------------------------------------
  130.  
  131. VirusZ currently supports the following Shell template:
  132.  
  133. CX_PRIORITY/N/K,CX_POPKEY/K,CX_POPUP/K,PUBSCREEN/K,AREXX/K,QUIT/S
  134.  
  135. For more detailed information about Shell syntax, commodity usage and hotkey
  136. definitions, please consult the manuals shipped with your Amiga.
  137.  
  138. Please note that the ARexx interface commands described below require VirusZ
  139. to  be  active already.  If it is not, it will first be started, the starter
  140. process  will  wait  until  the ARexx port appears and then the commands are
  141. sent to the port.
  142.  
  143. CX_PRIORITY:
  144. Specifies  the commodity priority of VirusZ's broker.  Values may range from
  145. -128 to 127, default is 0.
  146.  
  147. CX_POPKEY:
  148. Defines the hotkey used to pop up the main window.
  149.  
  150. CX_POPUP:
  151. Tells VirusZ whether to pop up on startup or not.
  152.  
  153. PUBSCREEN:
  154. Tells VirusZ to open its windows on the defined public screen instead of the
  155. Workbench screen.
  156.  
  157. AREXX:
  158. The  argument  given  to this option will be directly sent to VirusZ's ARexx
  159. port  as  a  command and the return code in the Shell will correspond to the
  160. return code of the ARexx command.
  161.  
  162. QUIT:
  163. Sends the ARexx command "QUIT" to an already running copy of VirusZ and thus
  164. terminates it.
  165.  
  166. ----------------------------------------------------------------------------
  167.                                ICON TOOLTYPES
  168. ----------------------------------------------------------------------------
  169.  
  170. For  more  detailed  information about tooltypes, commodity usage and hotkey
  171. definitions, please consult the manuals shipped with your Amiga.
  172.  
  173. VirusZ currently supports the following tooltypes:
  174.  
  175. CX_PRIORITY:
  176. Specifies  the commodity priority of VirusZ's broker.  Values may range from
  177. -128 to 127, default is 0.
  178.  
  179. CX_POPKEY:
  180. Defines the hotkey used to pop up the main window.
  181.  
  182. CX_POPUP:
  183. Tells VirusZ whether to pop up on startup or not.
  184.  
  185. PUBSCREEN:
  186. Tells VirusZ to open its windows on the defined public screen instead of the
  187. Workbench.
  188.  
  189. ----------------------------------------------------------------------------
  190.                                AREXX COMMANDS
  191. ----------------------------------------------------------------------------
  192.  
  193. VirusZ  has an ARexx port called 'VIRUSZ_III.REXX' that currently offers the
  194. following commands:
  195.  
  196. HIDE:
  197. This  command makes VirusZ close its main window and work in the background.
  198. To get the interface back you have to use the defined hotkey or the Exchange
  199. utility.
  200.  
  201. QUIT:
  202. This command terminates VirusZ.
  203.  
  204. As  you  can  see,  there  are  no really useful commands implemented at the
  205. moment  that might help you with virus scanning.  This will certainly change
  206. in the future.
  207.  
  208. ----------------------------------------------------------------------------
  209.                    PROGRAM STARTUP & SYSTEM SURVEILLANCE
  210. ----------------------------------------------------------------------------
  211.  
  212. VirusZ will perform a system scan at startup-time and afterwards survey your
  213. computer  for  suspicious  activities  regularly.   You can tell VirusZ what
  214. exactly  should  happen on startup via the 'Startup' preferences and control
  215. the surveillance mode via the 'Surveillance' preferences.
  216.  
  217. The following options appear in the 'Startup' preferences only:
  218.  
  219. 'Perform Self-Test':
  220. If  enabled, the hunk structure of VirusZ will be checked.  An alert appears
  221. if there is something wrong (might be a link virus).  Disable this option if
  222. you  intend to crunch VirusZ with a file packer because most of these modify
  223. the hunks.
  224.  
  225. 'Load Bootblock Brain':
  226. If  this option is enabled, the default bootblock brain (see 'Bootblock Lab'
  227. preferences) will be loaded automatically.
  228.  
  229. 'Pop Up Main Window':
  230. If enabled, VirusZ opens the main window, otherwise it can be controlled via
  231. the Exchange commodity or the ARexx port only.
  232.  
  233. 'Activate Main Window':
  234. This  option  tells  VirusZ to activate the main window.  This is useful for
  235. all  users that don't have VirusZ running in the background all the time and
  236. want to start a scan without activating the window by-hand first.
  237.  
  238. The  following  options  appear in both the 'Startup' and the 'Surveillance'
  239. preferences (introduced by 'Check...' or 'Survey...'):
  240.  
  241. '...ColdCapture/CoolCapture/KickTags':
  242. System pointers used by viruses (but also by useful utilities) to keep their
  243. code  reset  resistant.   Only disable these options if you really know what
  244. you are doing.
  245.  
  246. '...CPU Interrupts/Exec Interrupts/Library Vectors/Process Fields':
  247. Other  system pointers often used by viruses.  Please note that also lots of
  248. harmless utilities use them, not every alert that VirusZ will send you means
  249. there's a new virus in your system.
  250.  
  251. '...Bootblocks':
  252. This  will  scan the bootblocks of all available disks, newly inserted disks
  253. are detected if surveillance is activated.
  254.  
  255. '...Disk-Validators':
  256. Scans all disk-validator files found in L: drawer of any inserted disk.
  257.  
  258. ----------------------------------------------------------------------------
  259.                    GENERAL INFORMATION ABOUT PREFERENCES
  260. ----------------------------------------------------------------------------
  261.  
  262. VirusZ   uses   the  standard  AmigaOS  method  to  store/save  preferences.
  263. Therefore  the drawer 'VirusZ_III' will be created in your ENVARC:  and ENV:
  264. drawers.   You  can save the current settings, restore or load settings with
  265. the corresponding menu items in the 'Preferences' menu of VirusZ.
  266.  
  267. Additionally, whenever you save your preferences, the positions and sizes of
  268. all  VirusZ  windows  will  be  stored/saved  too.   This means that you can
  269. arrange  all  windows  just  as  you like them, they will appear in the same
  270. positions the next time you start VirusZ.
  271.  
  272. Settings that affect either VirusZ in general or influence several functions
  273. can be found in 'Miscellaneous' preferences:
  274.  
  275. 'Requesters Follow Mouse':
  276. If  enabled, all ReqTools requesters appear with the negative response under
  277. the mouse pointer.  If disabled, they pop up in the top left corner.
  278.  
  279. 'Close Main Window = Exit':
  280. If  enabled,  VirusZ  quits when you click on the close-window button of the
  281. main  window,  otherwise it will act as if you selected the 'Hide' item from
  282. the 'Project' menu.
  283.  
  284. 'Quit Immediately':
  285. If enabled, VirusZ quits without verification.
  286.  
  287. 'Report Known Bootblocks':
  288. Usually,  bootblocks  recognized  by  the brain are not reported (that's the
  289. main  purpose of the whole brain system).  But it may sometimes be useful to
  290. get  those  already  known  bootblocks  reported  anyway.  If this option is
  291. enabled, that's excactly what will happen.
  292.  
  293. 'Install SnoopDos Task':
  294. If  enabled,  a task called 'SnoopDos' will be created which doesn't use any
  295. processor time, but prevents several trojans from doing any harm.
  296.  
  297. 'Center Main Window':
  298. If  enabled,  VirusZ's main window appears centered at the top border of the
  299. screen.  Otherwise it will use the coordinates that have been last saved.
  300.  
  301. 'Center Other Windows':
  302. If  enabled,  all  VirusZ  windows appear centered on the screen.  Otherwise
  303. they will use the coordinates that have been last saved.
  304.  
  305. 'Use Disassembler.Library':
  306. If disabled, both bootblock lab and memory monitor will not try to open this
  307. library.   They certainly cannot display any assembler instructions then and
  308. will  tell  you so.  This option is useful to save memory space and to avoid
  309. loading of mmu.library which is always opened by disassembler.library.
  310.  
  311. 'Hotkey':
  312. The default commodity hotkey used to pop up the main window.
  313.  
  314. ----------------------------------------------------------------------------
  315.                           SOME WORDS ABOUT "JOBS"
  316. ----------------------------------------------------------------------------
  317.  
  318. Whenever you select files or sectors for checking (see below), there happens
  319. nothing  more but a corresponding 'Job' gets added to the internal job list.
  320. As  soon  as  there is one or more jobs in the list, the 'Job Monitor' opens
  321. and the job(s) get(s) processed.
  322.  
  323. The  status line is the topmost part.  Here you can see which file or sector
  324. gets  checked  at  the  moment.   It therefore also is some kind of progress
  325. indicator.
  326.  
  327. Whenever  there's  something to be reported (virus/error/encoded file), this
  328. happens  in  the  report  list  in  the  middle.  By selecting an item, more
  329. information  about this item appears below in the three info lines.  You can
  330. select  the 'Statistics' during a check and they will be updated after every
  331. checked  file/sector.   This  is  actually not recommended, because it slows
  332. down checking.
  333.  
  334. The gadgets at the bottom have different functions:
  335. 'Pause'  interrupts  a  running  job,  you  then  can  'Continue'  or 'Quit'
  336. checking.   'Quit' always removes all running jobs, even those that have not
  337. been processed yet, so be careful with that.
  338. 'Delete'  and  'Disinfect'  will only be enabled for selected items from the
  339. report list if this makes sense.  Files infected by linkviruses only will be
  340. disinfected,  others (trojans etc.) will be deleted.  You can also disinfect
  341. some  types of sectors that have been modified by viruses.  Please note that
  342. these  actions  can be selected even during a running job, you don't have to
  343. wait for its end!
  344.  
  345. ----------------------------------------------------------------------------
  346.                                  FILE CHECK
  347. ----------------------------------------------------------------------------
  348.  
  349. You  can start checking files at any time by selecting 'File Check' from the
  350. 'Project' menu.  A file-request will appear where you select the files to be
  351. checked.   You can repeat this action several times even while the first job
  352. is still running, the others will be processed afterwards!
  353.  
  354. The following settings can be adjusted in the 'File Check' preferences:
  355.  
  356. 'Skip Subdirectories':
  357. Enable this option to skip any drawers that may exist in a selected drawer.
  358.  
  359. 'Ask Before Deleting Files':
  360. If  this  option  is enabled, pressing the 'Delete' button will not directly
  361. erase  the selected file, but you will be prompted once again.  Very helpful
  362. to avoid accidental loss of data.
  363.  
  364. 'Decrunch Data Files':
  365. If this option is enabled, the file check reads and decrunches data files in
  366. order  to  check  them.  This is useful for data files that actually contain
  367. executables, eg. XPK packed files.
  368.  
  369. 'Extract File Archives':
  370. If  enabled,  files  inside  file-archives  get extracted and checked.  Very
  371. useful to check software downloads quickly without hand-work.
  372.  
  373. 'Don't Ask For Passwords/Keys'
  374. If  enabled,  encoded files will be reported, but not analysed (completely).
  375. Always  switch on this option if you want to scan complete partitions and go
  376. for a coffee in the meantime.  It is guaranteed that VirusZ will not ask for
  377. anything during a file check then.
  378.  
  379. 'Ignore External Xfd-Slaves/Only Use Them For Executables/Use All External
  380. Xfd-Slaves':
  381. These  options tell VirusZ which external slaves of xfdmaster.library should
  382. be  used for decrunching files.  You should always allow external slaves for
  383. executables  to  ensure  that  really all executables get decrunched, but if
  384. some  badly  coded third party slaves crash your system, you can switch them
  385. off completely.
  386.  
  387. 'Ignore External Xad-Slaves/Use External Xad-Slaves':
  388. These  options tell VirusZ which external slaves of xadmaster.library should
  389. be used for extracting archives.  You should always allow external slaves.
  390.  
  391. ----------------------------------------------------------------------------
  392.                                 SECTOR CHECK
  393. ----------------------------------------------------------------------------
  394.  
  395. You  can start checking disk sectors at any time by selecting 'Sector Check'
  396. from the 'Project' menu.  A device selector will appear where you select the
  397. device to be checked.  Use the 'Refresh' button to update the device list if
  398. you have mounted new devices lately.
  399.  
  400. SOME IMPORTANT WORDS RIGHT AT THE BEGINNING, PLEASE READ CAREFULLY:
  401. This  sector check only has the purpose to scan for sectors that have either
  402. been destroyed or modified by viruses.  It doesn't verify your disks for any
  403. other  failures  like  damaged  filesystem  blocks  etc.  Although it allows
  404. scanning  of  several kinds of devices (floppies, harddisks), it should only
  405. be  used  with  standard 880k/1760k Amiga floppy disks!  None of the viruses
  406. that modify sectors ever worked with third-party devices, so there's no need
  407. to scan them!  Additionally, it might be dangerous to scan FFS devices, they
  408. will  never  be  infected  too,  but might lead to false alarms in some rare
  409. cases.  You have been warned!
  410.  
  411. The following settings can be adjusted in the 'Sector Check' preferences:
  412.  
  413. 'Check DOS Disks Only':
  414. This option should always be enabled. Only switch it off if you need to scan
  415. eg. Kickstart disks.
  416.  
  417. ----------------------------------------------------------------------------
  418.                                BOOTBLOCK LAB
  419. ----------------------------------------------------------------------------
  420.  
  421. The  bootblock lab offers all bootblock-related functions that are necessary
  422. to fight bootblock viruses and some more extras.
  423.  
  424. ATTENTION:  Be careful with writing to / installing your harddisks.  I'm not
  425. reliable for your faults.
  426.  
  427. There  are  two  cycle gadgets in the bootblock lab, one on each side of the
  428. status  line.   The  left  one selects the device you want to work with, the
  429. right  one  selects  the  display mode (ascii dump, hex dump or disassembler
  430. mode if disassembler.library is installed).
  431.  
  432. Some words about the disassembler output:
  433. The  default  output  format  of disassembler.library is not very usable for
  434. looking  at  bootblocks as it shows the 32-bit addresses where the bootblock
  435. is  really located in memory and all pc-relative instructions point at those
  436. addresses  too.   So  I  decided  to  modify the output internally to 16-bit
  437. format  with  bootblock  addresses  from  $0000  to  $03ff.  All pc-relative
  438. instructions  appear that way, the ones pointing outside the bootblock range
  439. are  marked as *-$0xxx or *+$0xxx, where * means either the start or the end
  440. of the bootblock.  Locations outside a range of +/- 1kB around the bootblock
  441. nevertheless appear with their original 32-bit address.
  442.  
  443. Whenever  there  occurs an error, this will be displayed in the status line.
  444. Then  the  name  of the current bootblock in the buffer will be overwritten.
  445. By clicking on the 'Name' gadget, the name is printed again.
  446.  
  447. Functions offered via the bootblock lab gadgets:
  448.  
  449. 'Read':
  450. Reads  the bootblock from the currently selected device to the buffer.  Only
  451. DOS disks can be read.
  452.  
  453. 'Write':
  454. Writes  the current buffer contents to the bootblock of the selected device.
  455. The disk type and the checksum will be corrected automatically.
  456.  
  457. 'Install':
  458. Installs  a  standard AmigaOS 2.04 bootblock or an uninstalled bootblock (if
  459. selected  in  the  'Bootblock  Lab'  preferences)  to the currently selected
  460. device.  The disk type will be corrected automatically.
  461.  
  462. 'Load':
  463. Opens a file request to select a bootblock file that should be loaded to the
  464. buffer.   Only DOS bootblocks can be loaded.  You can use this function with
  465. ADF files and similar disk images too, only the bootblock will be loaded.
  466.  
  467. 'Save':
  468. Saves  the  current  buffer  contents  to  a file.  This is useful to backup
  469. important bootblocks of games etc.
  470.  
  471. 'Learn':
  472. This gadget will only be enabled if the bootblock in the buffer is neither a
  473. virus nor any other known bootblock.  Then you are able to make VirusZ learn
  474. the  unknown bootblock and give it a name.  From now on, this bootblock will
  475. be  reported  with  the  given  name and the background check will no longer
  476. report it as unknown.
  477.  
  478. Functions offered via the bootblock lab menus:
  479.  
  480. 'Brain/New Brain':
  481. Removes the currently loaded brain from memory.
  482.  
  483. 'Brain/Load Brain':
  484. Loads a new brain file from disk to memory.
  485.  
  486. 'Brain/Save Brain':
  487. Saves brain changes to file.
  488.  
  489. 'Brain/Merge Brains':
  490. Adds brain cells from a file to the currently loaded brain.
  491.  
  492. 'Brain/Edit Brain':
  493. Here you can rename or delete brain cells.
  494.  
  495. 'Misc/Refresh Devices':
  496. VirusZ  is  unfortunately  not able to detect devices that have been mounted
  497. after  startup  automatically.  If you want to check such a device, you have
  498. to refresh the device list with this function.
  499.  
  500. The  bootblock  lab  offers  the  following  settings in the 'Bootblock Lab'
  501. preferences:
  502.  
  503. 'Ask Before Write Access':
  504. If  enabled,  a  security  request  pops up every time you select 'Write' or
  505. 'Install' in the bootblock lab.
  506.  
  507. 'Read Inserted Disks':
  508. This  enables  the  bootblock  lab  to read the bootblocks of inserted disks
  509. automatically.   Useful  if  you  intend  to  check a whole box of disks for
  510. bootblock viruses.
  511.  
  512. 'Install Non-Bootable BB':
  513. If  enabled,  'Install'  doesn't install a standard bootblock, but makes the
  514. disk non-bootable.
  515.  
  516. 'Brain':
  517. The  path and filename of the default bootblock brain.  This will be used in
  518. the  file requests of the bootblock lab and for loading the brain at startup
  519. (see 'Startup' preferences).
  520.  
  521. ----------------------------------------------------------------------------
  522.                                 VECTOR CHECK
  523. ----------------------------------------------------------------------------
  524.  
  525. Mostly  all  viruses  work  in the same manner.  Either they make themselves
  526. resident   and/or  corrupt  some  libraries  or  devices  with  their  code.
  527. Therefore the vector check was designed to help you finding new viruses that
  528. can't be recognized directly by the xvs.library yet.
  529.  
  530. It  will  display  all  system  vectors that are not zero or do not point to
  531. standard  ROM  locations  and  tell  you  whether  the changes are caused by
  532. utilities  already  known  or  by  something  unknown.   But  this  will not
  533. necessarily mean that every vector marked 'SUSPICIOUS' is corrupted by a new
  534. virus,  there are lots of system enhancers and other tools around that cause
  535. such changes.
  536.  
  537. You  should  nevertheless  be  alarmed  if you are sure that you didn't have
  538. installed  any  programs  that  change  vectors  and suddenly something gets
  539. reported by VirusZ.
  540.  
  541. You might have installed a lot of patches that already get reported by name,
  542. and the output is awfully long, then you can disable the displaying of known
  543. patches in the 'Vector Check' preferences.
  544.  
  545. If  SegTracker  (part  of the Enforcer package by Michael Sinz, see complete
  546. description  there) is installed on your system, you have the possibility to
  547. use  its collected information for the vector check output.  Just enable the
  548. corresponding  option  in  the preferences.  Then mostly all vectors will be
  549. handed  over  to SegTracker for identification, and the program's name, hunk
  550. and offset will be reported if available.
  551.  
  552. You  can  also  select  every  single  line of the vector check report.  The
  553. following  functions  are  offered  depending  if they can be applied on the
  554. selected line or not:
  555.  
  556. 'Monitor':
  557. Starts  the memory monitor of VirusZ and supplies it with the address of the
  558. selected vector.
  559.  
  560. 'Snapshot':
  561. Creates  a  snapshot  of an unknown vector and saves it automatically to the
  562. 'Snapshot  Drawer' you have selected in the 'Vector Check' preferences.  You
  563. can send me all your snapshots and I will add them to the vector check.
  564. IMPORTANT:
  565. (a)  Do not snapshot the same vectors several times, this causes me a lot of
  566. work just for nothing!
  567. (b)  In  addition  to  your  snapshots, I need the program(s) that cause the
  568. unknown vector(s).  Snapshots without a program usually cannot be added!  So
  569. either send me the program (not its complete archive if possible) or tell me
  570. where  I  can  download  it  myself.  All the programs will be deleted after
  571. examination, so copyrights usually should not interfere with that method.
  572. (c) To find out which programs cause changes in your system, disable all the
  573. patches installed in your startup-sequence, user-startup or WBStartup drawer
  574. and  re-enable  them one by one.  Each time something new gets started, just
  575. have a look at the vector check.
  576.  
  577. 'Clear':
  578. Clears the selected vector.  Only use this if you know what you are doing!
  579.  
  580. 'Remove':
  581. Removes  a  single  element out of a system list.  Only use this if you know
  582. what you are doing!
  583.  
  584. ----------------------------------------------------------------------------
  585.                                MEMORY MONITOR
  586. ----------------------------------------------------------------------------
  587.  
  588. The  memory  monitor  has  been invented to allow experienced users to snoop
  589. around  in  RAM/ROM and have a look at suspicious vectors (directly from the
  590. vector  check or by entering the address).  It actually is of no use for the
  591. average user, so I will not explain it in detail.
  592.  
  593. Only  memory  areas from exec's memlist can be monitored, plus Kickstart ROM
  594. and  RemAPollo's  private  area.  If you reach the start/end of an area, the
  595. memory monitor will automatically wrap around to the end/start of that area,
  596. so you can never access forbidden or non-existing addresses.
  597.  
  598. Some words about the disassembler mode:
  599. Due to major problems with the calculation of a sensible 'Line -' / 'Page -'
  600. address,  these  functions  will just step backwards 2 bytes / 32 bytes each
  601. time  they get executed.  Stepping forwards causes no problems, so this will
  602. work properly in all cases.
  603.  
  604. The 'Memory Monitor' preferences currently contain the following switches:
  605.  
  606. 'Chip-Ram Start Address = $00000000':
  607. If enabled, the memory monitor overrides the memlist entry for chip ram that
  608. usually  starts  at  locations  $00000400/$00004000 and allows you to have a
  609. look  at  the  cpu's vectortable.  This interferes with most debugging tools
  610. (eg.  MuForce) and will result in lots of annoying hits, so keep this option
  611. disabled unless you really need it.
  612.  
  613. 'Display SegTracker Info If Available':
  614. If  SegTracker  (part  of the Enforcer package by Michael Sinz, see complete
  615. description  there)  is installed on your system and this option is enabled,
  616. the  status  line will display SegTracker information whenever you monitor a
  617. previously tracked memory area.
  618.  
  619. !#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#
  620. #!                          END OF DOCUMENTATION                          #!
  621. !#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#
  622.  
  623. -----BEGIN PGP PUBLIC KEY BLOCK-----
  624. Version: PGPfreeware 5.0i for non-commercial use
  625.  
  626. mQCNAzuzvG4AAAEEAKbvwOuWJSNZHJyNommciVkVj98H+O32pP42OM20WHy3CMuG
  627. E2D2tSQwvkUZCBDMvdqYRDP7Jkfw+hHpbNAFls2x/ujMJ0u8FP7g2ivfg99W6cMp
  628. PX6OXgqImTAMcxp5az6mbemZ0K4+FBMfBmDWs+226/IOWu3fdGUOxNgKgx13AAUR
  629. tCFHZW9yZyBIb2VybWFubiA8Z2hvZXJtYW5uQGdteC5kZT6JAJUDBRA7s7xuZQ7E
  630. 2AqDHXcBAYghBACIpDzrTak/DA32mAJabo2D082o83MFTJTwSSft6k2VFY3jr2ia
  631. 2TckPkqEc0TKe24nQbhRZI6ehkMlJmKcsSmG38hwMXkIvEQc03jOv6dVmzqRPiR2
  632. 2Vtc7WnKdBh/FUbCmvuGqstEKonKrCfXKv8zBSp5wWVnlZKRhDUGsLyXlg==
  633. =hPFP
  634. -----END PGP PUBLIC KEY BLOCK-----
  635.